Cannot get DAI balance on the testnet

I failed to get DAI balance on the testnet. It works fine on the mainnet, but it doesn’t work on the testnet. Can anyone help?

from web3 import Web3

w3 = Web3(Web3.HTTPProvider("https://kovan.infura.io/v3/<my API>"))
dai_token_addr = "0x4f96fe3b7a6cf9725f59d353f723c1bdb64ca6aa"     
acc_address = "0xDef1C0ded9bec7F1a1670819833240f027b25EfF"        

simplified_abi = [
  {
    'inputs': [{'internalType': 'address', 'name': 'account', 'type': 'address'}],
    'name': 'balanceOf',
    'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
    'stateMutability': 'view', 'type': 'function', 'constant': True
  },
  {
    'inputs': [],
    'name': 'decimals',
    'outputs': [{'internalType': 'uint8', 'name': '', 'type': 'uint8'}],
    'stateMutability': 'view', 'type': 'function', 'constant': True
  },
  {
    'inputs': [],
    'name': 'symbol',
    'outputs': [{'internalType': 'string', 'name': '', 'type': 'string'}],
    'stateMutability': 'view', 'type': 'function', 'constant': True
  },
  {
    'inputs': [],
    'name': 'totalSupply',
    'outputs': [{'internalType': 'uint256', 'name': '', 'type': 'uint256'}],
    'stateMutability': 'view', 'type': 'function', 'constant': True
  }
]

dai_contract = w3.eth.contract(address=w3.toChecksumAddress(dai_token_addr), abi=simplified_abi)
decimals = dai_contract.functions.decimals().call()
addr_balance = dai_contract.functions.balanceOf(acc_address).call() / 10**decimals
print("Addr Balance:", addr_balance)

Output:

Addr Balance: 0.0

Hey @notooth, and welcome to the Infura community! Did you generate testnet-ETH to use? There aren’t Dai faucets on testnets, but you can generate your own Dai on the major testnets (including Kovan). After you get the testnet-ETH, you can head over to Oasis and open a Vault.

If you’ve already tried that, let us know and we’ll dig further!