As I understand it, a case frame contains semantic roles. Predicate frame is a common synonym of case frame, and thematic role and thematic relation are common synonyms of semantic role; but some linguists make a distinction between some of these terms.
A thematic role, like "agent", is a way to categorize and describe the various functions that constituents can have in a predicate. A predicate frame is a particular set of thematic roles that occur together with a certain verb. I believe a proper predicate frame should not only specify which thematic roles it contains, but also how these roles are marked syntactically, such as by the accusative, by the preposition by, etc. Note that one verb may have several possible predicate frames, though only one is possible at the same time. Consider these sentences:
They presented him with a nuclear bomb.
They presented a nuclear bomb at the convention.
In the first sentence, it would make sense to say that the predicate frame of the verb "presented" includes the thematic roles subject-agent ("they"), object-recipient ("him"), and a "with"-theme (thing undergoing an action: "with a nuclear bomb"). Note that subject etc. are syntactic labels, while agent etc. are thematic labels.
In the second sentence, the same verb is used with a different predicate frame, including partly different thematic roles. There is still the subject-agent; but we now have an object-theme and an "at"-location, though the latter is probably not a complement but a satellite. A satellite is a constituent that is possible but not so much expected with a certain predicate frame.
The term "case frame" is in my opinion ill chosen, because it is not about cases at all; case is a specific syntactic label, while this frame describes not only cases but also other syntactic markers; and, more importantly, it also describes thematic roles, which are certainly not cases. Thematic roles are sometimes called "deep cases"; but that is very misleading—one would almost suspect that whoever made up that term had no idea how cases work. Most cases have wildly varying functions or thematic roles; some of them do not have a predominant role at all; and others usually fall outside the predicate frame all together, because they are mostly used with satellites.